package com.ygl.service;

import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.ygl.entity.Tag;
import com.ygl.mapper.TagDao;
import com.ygl.utils.Maps;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.HashMap;
import java.util.List;
import java.util.Map;

/**
 * @author ygl
 * @date 2021/7/7
 * @description xxx
 */
@Service
public class TagService {

    @Autowired
    private TagDao tagDao;

    public Integer create(Tag tag) {
        return tagDao.create(tag);
    }

    public Integer delete(Integer id) {
        return tagDao.delete(Maps.build(id).getMap());
    }

    public Integer update(Tag tag) {
        return tagDao.update(Maps.build(tag.getId()).beanToMapUpdate(tag));
    }

    public PageInfo<Tag> query(Tag tag) {
        if (tag != null && tag.getPage() != null) {
            PageHelper.startPage(tag.getPage(), tag.getSize());
        }
        List<Tag> list = tagDao.query(Maps.build().beanToMap(tag));
        return new PageInfo<Tag>(list);
    }

    public Tag detail(Integer id) {
        return tagDao.detail(Maps.build(id).getMap());
    }

    public Integer count(Tag tag) {
        return tagDao.count(Maps.build().beanToMap(tag));
    }

    public List<Tag> all(){
        List<Tag> list = tagDao.query(null);
        return list;
    }
}
